The present invention relates generally to wireless packet data communication systems, and, in particular, to the transmission of data in a wireless packet data communication system.
Wireless packet data communication systems are well known and consist of many types, including land mobile radio, cellular radiotelephone, and personal communication systems. With each communication system, data is transmitted between a transmitting communication device and a receiving communication device via a communication resource that includes a communication channel that operates over a physical resource, typically a frequency bandwidth.
In a typical packet data communication system, information is transmitted in data packets, or data frames. In a transmitting communication device, a lengthy data stream is typically subdivided into multiple data blocks. Each data block is then wrapped with a header to form a data packet. Included in the header for each data packet is a sequence number corresponding to the position of the data block in the data stream. The sequence numbers allow a receiving communication device to receive the multiple data packets comprising the multiple data blocks in any order and to reassemble the original data stream.
The receiving communication device stores the received data blocks in a resequencing, or jitter, buffer, where the data blocks are reordered in their proper sequence and stored. The jitter buffer stores a predetermined amount of data and, when full, conveys the stored data to a user of the receiving communication device, that is, a listener, via a user interface.
In a typical Radio Link Protocol (RLP) wireless communication system, erroneously received data packets are acknowledged by transmission of a NAK message by the receiving communication device. The NAK message includes an identifier of the erroneously received data packet. The transmitted data packets are stored in a memory of the transmitting communication device. When the transmitting communication device receives the NAK message, the transmitting communication device retransmits the identified data packet.
By storing data in a jitter buffer, gaps in voice may be avoided, which gaps result from the retransmission of erroneously received data. For example, the data stream conveyed from the transmitting communication device to the receiving communication device may be an audio message xe2x80x9cDo not place the order.xe2x80x9d If the data packets corresponding to the word xe2x80x9cnotxe2x80x9d are erroneously received, the data in those packets would not be conveyed to the listener in the absence of a retransmission. The received message might then be conveyed as xe2x80x9cDo place the order,xe2x80x9d with a gap appearing in place of the word xe2x80x9cnot.xe2x80x9d Therefore, jitter buffers are used to store all data received after the erroneously received data packet, pending retransmission of the erroneous packet. When the retransmitted packet is received, the packet is inserted into its proper position among the stored data and the data is played out to the listener. The jitter buffer typically is of sufficient size that the jitter buffer can store all data received subsequent to the erroneously received data until the erroneously received data is acknowledged, retransmitted, and properly inserted into the data stored in the buffer.
Although the use of the jitter buffer improves the reliability of a data communication by providing for the retransmission of erroneously received data, the use of the jitter buffer also produces a delay in the set up of a dispatch communication. In order to prevent a gap from appearing at some point in a voice communication due to the acknowledgment and retransmission of erroneously received packets, the receiving communication device does not initially convey a voice communication to the listener until the jitter buffer is full. By imposing a system delay at the start of the conversation, erroneously received data may be retransmitted and inserted in already received data without creating a subsequent voice gap when a later erroneous packet is received and subsequently received data must be stored.
For a communication system that employs a single acknowledgment and retransmission, the jitter buffer-related delay may be 200 ms or more. This delay is in addition to other call set up delays between the moment that a user of the transmitting communication device, that is, a speaker, initiates a call, such as by pressing a push-to-talk (PTT) button on a keypad of the device, to the moment that an audio message input by the speaker into the transmitting communication device is conveyed to the listener at the receiving communication device. Similarly, a jitter buffer delay resulting from a filling of a jitter buffer in a receiving communication device occurs each time there is a change in who is speaking in the dispatch communication.
Any delay in call set up is undesirable, as is any delay in the time that it takes an audio message spoken into a transmitting communication device to be conveyed to a listener at a receiving communication device. One alternative to imposing a jitter buffer delay upon a dispatch call set up is to increase a power level used to transmit data packets. It is well known that there is an inverse relationship between a data packet or frame error rate (FER) and power level at which the data packet is transmitted. Transmitting data packets at higher power levels diminishes the probability that intervening factors in the propagation environment will interfere with the transmission and corrupt the transmitted data packet. If the power level is great enough, the FER may be reduced to a level where retransmission of erroneously received data is no longer necessary in order to achieve an acceptable FER. However, by transmitting data packets at an increased power level, the possibility that the transmission will interfere with other communications using the same or adjacent frequency bandwidths is increased.
Therefore a need exists for a method and an apparatus for reducing jitter buffer delay while minimizing the interference created for other communications using the same or adjacent frequency bandwidths.